home *** CD-ROM | disk | FTP | other *** search
Makefile | 1992-06-01 | 14.5 KB | 422 lines |
- # This is the makefile that I used to create the objects and tpu's
- # on my machine. The location (or even existence) of compilers may
- # be different in your configuration. Modify what is needed.
- #
- # Typing make will create all .obj and .tpu files
- # Typing make demo will run all of them and compare the
- # output with a standard. The result
- # is saved in a file called DIF.
- # Typing make time will time the program.
- #
-
- VER =105
- UNZIP = \util\pkware1.10\pkunzip
-
- TPC = tpc
- ASM = c:\tasm\tasm -n
- C = tcc
-
- FORT = f77l
- LINK = link77
-
- FOR2 = \fortran\qfort
- LNK2 = \fortran\qfortlnk
-
- ZTIMER = ..\ztimer11.zip
- HDR = comment.0+header+comment.1
-
- # This is the list of all the objects that are to be created by the
- # makefile. Remove from here any objects which you don't want, or
- # whose compiler you don't have.
-
- all: c tp lahey fort
-
- ######## TURBO-C
-
- c: ultra_ct.obj ultra_cs.obj ultra_cm.obj \
- ultra_cc.obj ultra_cl.obj ultra_ch.obj \
- ultrx_ct.obj ultrx_cs.obj ultrx_cm.obj \
- ultrx_cc.obj ultrx_cl.obj ultrx_ch.obj \
- ultrf_ct.obj ultrf_cs.obj ultrf_cm.obj \
- ultrf_cc.obj ultrf_cl.obj ultrf_ch.obj \
- ultfx_ct.obj ultfx_cs.obj ultfx_cm.obj \
- ultfx_cc.obj ultfx_cl.obj ultfx_ch.obj
-
- ultra_ct.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dm=tiny -mx ultra_c,ultra_ct;
- ultra_cs.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dm=small -mx ultra_c,ultra_cs;
- ultra_cc.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dm=compact -mx ultra_c,ultra_cc;
- ultra_cm.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dm=medium -mx ultra_c,ultra_cm;
- ultra_cl.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dm=large -mx ultra_c,ultra_cl;
- ultra_ch.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dm=huge -mx ultra_c,ultra_ch;
-
- ultrx_ct.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dm=tiny -mx ultrx_c,ultrx_ct;
- ultrx_cs.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dm=small -mx ultrx_c,ultrx_cs;
- ultrx_cc.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dm=compact -mx ultrx_c,ultrx_cc;
- ultrx_cm.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dm=medium -mx ultrx_c,ultrx_cm;
- ultrx_cl.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dm=large -mx ultrx_c,ultrx_cl;
- ultrx_ch.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dm=huge -mx ultrx_c,ultrx_ch;
-
- ultrf_ct.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dfast -dm=tiny -mx ultra_c,ultrf_ct;
- ultrf_cs.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dfast -dm=small -mx ultra_c,ultrf_cs;
- ultrf_cc.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dfast -dm=compact -mx ultra_c,ultrf_cc;
- ultrf_cm.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dfast -dm=medium -mx ultra_c,ultrf_cm;
- ultrf_cl.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dfast -dm=large -mx ultra_c,ultrf_cl;
- ultrf_ch.obj: ultra_c.asm ultracod.inc ultradat.inc
- $(ASM) -dfast -dm=huge -mx ultra_c,ultrf_ch;
-
- ultfx_ct.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast -dm=tiny -mx ultrx_c,ultfx_ct;
- ultfx_cs.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast -dm=small -mx ultrx_c,ultfx_cs;
- ultfx_cc.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast -dm=compact -mx ultrx_c,ultfx_cc;
- ultfx_cm.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast -dm=medium -mx ultrx_c,ultfx_cm;
- ultfx_cl.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast -dm=large -mx ultrx_c,ultfx_cl;
- ultfx_ch.obj: ultrx_c.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast -dm=huge -mx ultrx_c,ultfx_ch;
-
- ######## TURBO PASCAL
-
- tp: ultra.tpu ultrax.tpu ultraf.tpu ultrafx.tpu
-
- ultra.tpu: ultratpu.pas ultra_tp.asm ultracod.inc ultradat.inc
- copy ultratpu.pas ultra.pas
- $(ASM) ultra_tp;
- $(TPC) ultra.pas
- del ultra.pas
-
- ultrax.tpu: ultratpu.pas ultrx_tp.asm ultrxcod.inc ultradat.inc
- copy ultratpu.pas ultrax.pas
- $(ASM) ultrx_tp;
- $(TPC) -Dx ultrax.pas
- del ultrax.pas
-
- ultraf.tpu: ultratpu.pas ultra_tp.asm ultracod.inc ultradat.inc
- copy ultratpu.pas ultraf.pas
- $(ASM) -dfast ultra_tp,ultrf_tp;
- $(TPC) -df ultraf.pas
- del ultraf.pas
-
- ultrafx.tpu: ultratpu.pas ultrx_tp.asm ultrxcod.inc ultradat.inc
- copy ultratpu.pas ultrafx.pas
- $(ASM) -dfast ultrx_tp,ultfx_tp;
- $(TPC) -Dfx ultrafx.pas
- del ultrafx.pas
-
- ######## LAHEY FORTRAN
-
- lahey: ultra_lh.obj ultrx_lh.obj ultrf_lh.obj ultfx_lh.obj
-
- ultra_lh.obj: ultra_lh.asm ultracod.inc ultradat.inc
- $(ASM) ultra_lh;
- ultrx_lh.obj: ultrx_lh.asm ultrxcod.inc ultradat.inc
- $(ASM) ultrx_lh;
- ultrf_lh.obj: ultra_lh.asm ultracod.inc ultradat.inc
- $(ASM) -dfast ultra_lh,ultrf_lh;
- ultfx_lh.obj: ultrx_lh.asm ultrxcod.inc ultradat.inc
- $(ASM) -dfast ultrx_lh,ultfx_lh;
-
- ######## IBM FORTRAN/2
-
- fort: ultra_fr.obj ultrf_fr.obj
- echo 80386 versions don't seem to work with IBM Fortran/2
-
- ultra_fr.obj: ultra_fr.asm ultracod.inc ultradat.inc
- $(ASM) ultra_fr;
- ultrx_fr.obj: ultrx_fr.asm ultrxcod.inc ultradat.inc
- echo 80386 version doesn't seem to work with IBM Fortran/2
- # $(ASM) ultrx_fr;
- ultrf_fr.obj: ultra_fr.asm ultracod.inc ultradat.inc
- $(ASM) -dfast ultra_fr,ultrf_fr;
- ultfx_fr.obj: ultrx_fr.asm ultrxcod.inc ultradat.inc
- echo 80386 version doesn't seem to work with IBM Fortran/2
- # $(ASM) -dfast ultrx_fr,ultfx_fr;
-
- # The following is a test sequence to run the demo program and
- # compare its output with the standard output. The last few digits
- # might vary in floating point due to roundoff.
-
- demo: democ demotp demolahey demofort
-
- demo.out: demo.c ultra.c
- $(C) -ms demo.c ultra.c
- demo >demo.out
- demof.out: demo.c ultra.c
- $(C) -Dfast -edemof -ms demo.c ultra.c
- demof >demof.out
- dif.out:
- if not exist dif.out type dif.out >dif.out
-
- democ: dem_ct.out dem_cs.out dem_cc.out dem_cm.out dem_cl.out dem_ch.out \
- demx_ct.out demx_cs.out demx_cc.out demx_cm.out demx_cl.out demx_ch.out \
- demf_ct.out demf_cs.out demf_cc.out demf_cm.out demf_cl.out demf_ch.out \
- demfx_ct.out demfx_cs.out demfx_cc.out demfx_cm.out demfx_cl.out demfx_ch.out
-
- dem_ct.out: demo.c ultra_ct.obj demo.out dif.out
- $(C) -edem_ct -mt demo.c ultra_ct.obj
- dem_ct >dem_ct.out
- fc demo.out dem_ct.out >>dif.out
- dem_cs.out: demo.c ultra_cs.obj demo.out dif.out
- $(C) -edem_cs -ms demo.c ultra_cs.obj
- dem_cs >dem_cs.out
- fc demo.out dem_cs.out >>dif.out
- dem_cc.out: demo.c ultra_cc.obj demo.out dif.out
- $(C) -edem_cc -mc demo.c ultra_cc.obj
- dem_cc >dem_cc.out
- fc demo.out dem_cc.out >>dif.out
- dem_cm.out: demo.c ultra_cm.obj demo.out dif.out
- $(C) -edem_cm -mm demo.c ultra_cm.obj
- dem_cm >dem_cm.out
- fc demo.out dem_cm.out >>dif.out
- dem_cl.out: demo.c ultra_cl.obj demo.out dif.out
- $(C) -edem_cl -ml demo.c ultra_cl.obj
- dem_cl >dem_cl.out
- fc demo.out dem_cl.out >>dif.out
- dem_ch.out: demo.c ultra_ch.obj demo.out dif.out
- $(C) -edem_ch -mh demo.c ultra_ch.obj
- dem_ch >dem_ch.out
- fc demo.out dem_ch.out >>dif.out
-
- demx_ct.out: demo.c ultrx_ct.obj demo.out dif.out
- $(C) -edemx_ct -mt demo.c ultrx_ct.obj
- demx_ct >demx_ct.out
- fc demo.out demx_ct.out >>dif.out
- demx_cs.out: demo.c ultrx_cs.obj demo.out dif.out
- $(C) -edemx_cs -ms demo.c ultrx_cs.obj
- demx_cs >demx_cs.out
- fc demo.out demx_cs.out >>dif.out
- demx_cc.out: demo.c ultrx_cc.obj demo.out dif.out
- $(C) -edemx_cc -mc demo.c ultrx_cc.obj
- demx_cc >demx_cc.out
- fc demo.out demx_cc.out >>dif.out
- demx_cm.out: demo.c ultrx_cm.obj demo.out dif.out
- $(C) -edemx_cm -mm demo.c ultrx_cm.obj
- demx_cm >demx_cm.out
- fc demo.out demx_cm.out >>dif.out
- demx_cl.out: demo.c ultrx_cl.obj demo.out dif.out
- $(C) -edemx_cl -ml demo.c ultrx_cl.obj
- demx_cl >demx_cl.out
- fc demo.out demx_cl.out >>dif.out
- demx_ch.out: demo.c ultrx_ch.obj demo.out dif.out
- $(C) -edemx_ch -mh demo.c ultrx_ch.obj
- demx_ch >demx_ch.out
- fc demo.out demx_ch.out >>dif.out
-
- demf_ct.out: demo.c ultrf_ct.obj demof.out dif.out
- $(C) -edemf_ct -mt demo.c ultrf_ct.obj
- demf_ct >demf_ct.out
- fc demof.out demf_ct.out >>dif.out
- demf_cs.out: demo.c ultrf_cs.obj demof.out dif.out
- $(C) -edemf_cs -ms demo.c ultrf_cs.obj
- demf_cs >demf_cs.out
- fc demof.out demf_cs.out >>dif.out
- demf_cc.out: demo.c ultrf_cc.obj demof.out dif.out
- $(C) -edemf_cc -mc demo.c ultrf_cc.obj
- demf_cc >demf_cc.out
- fc demof.out demf_cc.out >>dif.out
- demf_cm.out: demo.c ultrf_cm.obj demof.out dif.out
- $(C) -edemf_cm -mm demo.c ultrf_cm.obj
- demf_cm >demf_cm.out
- fc demof.out demf_cm.out >>dif.out
- demf_cl.out: demo.c ultrf_cl.obj demof.out dif.out
- $(C) -edemf_cl -ml demo.c ultrf_cl.obj
- demf_cl >demf_cl.out
- fc demof.out demf_cl.out >>dif.out
- demf_ch.out: demo.c ultrf_ch.obj demof.out dif.out
- $(C) -edemf_ch -mh demo.c ultrf_ch.obj
- demf_ch >demf_ch.out
- fc demof.out demf_ch.out >>dif.out
-
- demfx_ct.out: demo.c ultfx_ct.obj demof.out dif.out
- $(C) -edemfx_ct -mt demo.c ultfx_ct.obj
- demfx_ct >demfx_ct.out
- fc demof.out demfx_ct.out >>dif.out
- demfx_cs.out: demo.c ultfx_cs.obj demof.out dif.out
- $(C) -edemfx_cs -ms demo.c ultfx_cs.obj
- demfx_cs >demfx_cs.out
- fc demof.out demfx_cs.out >>dif.out
- demfx_cc.out: demo.c ultfx_cc.obj demof.out dif.out
- $(C) -edemfx_cc -mc demo.c ultfx_cc.obj
- demfx_cc >demfx_cc.out
- fc demof.out demfx_cc.out >>dif.out
- demfx_cm.out: demo.c ultfx_cm.obj demof.out dif.out
- $(C) -edemfx_cm -mm demo.c ultfx_cm.obj
- demfx_cm >demfx_cm.out
- fc demof.out demfx_cm.out >>dif.out
- demfx_cl.out: demo.c ultfx_cl.obj demof.out dif.out
- $(C) -edemfx_cl -ml demo.c ultfx_cl.obj
- demfx_cl >demfx_cl.out
- fc demof.out demfx_cl.out >>dif.out
- demfx_ch.out: demo.c ultfx_ch.obj demof.out dif.out
- $(C) -edemfx_ch -mh demo.c ultfx_ch.obj
- demfx_ch >demfx_ch.out
- fc demof.out demfx_ch.out >>dif.out
-
- demotp: dem_tp.out demx_tp.out demf_tp.out demfx_tp.out
-
- dem_tp.out: demo.pas ultra.tpu demo.out dif.out
- $(TPC) demo.pas
- demo >dem_tp.out
- fc demo.out dem_tp.out >>dif.out
- demx_tp.out: demo.pas ultrax.tpu demo.out dif.out
- $(TPC) -Dx demo.pas
- demo >demx_tp.out
- fc demo.out demx_tp.out >>dif.out
- demf_tp.out: demo.pas ultraf.tpu demof.out dif.out
- $(TPC) -Df demo.pas
- demo >demf_tp.out
- fc demof.out demf_tp.out >>dif.out
- demfx_tp.out: demo.pas ultrafx.tpu demof.out dif.out
- $(TPC) -Dfx demo.pas
- demo >demfx_tp.out
- fc demof.out demfx_tp.out >>dif.out
-
- demolahey: dem_lh.out demx_lh.out demf_lh.out demfx_lh.out
-
- dem_lh.out: demo.for ultra_lh.obj demo.out dif.out
- $(FORT) demo
- $(LINK) demo+ultra_lh.obj,dem_lh;
- dem_lh >dem_lh.out
- fc demo.out dem_lh.out >>dif.out
- demx_lh.out: demo.for ultrx_lh.obj demo.out dif.out
- $(FORT) demo
- $(LINK) demo+ultrx_lh.obj,demx_lh;
- demx_lh >demx_lh.out
- fc demo.out demx_lh.out >>dif.out
- demf_lh.out: demo.for ultrf_lh.obj demof.out dif.out
- $(FORT) demo
- $(LINK) demo+ultrf_lh.obj,demf_lh;
- demf_lh >demf_lh.out
- fc demof.out demf_lh.out >>dif.out
- demfx_lh.out: demo.for ultfx_lh.obj demof.out dif.out
- $(FORT) demo
- $(LINK) demo+ultfx_lh.obj,demfx_lh;
- demfx_lh >demfx_lh.out
- fc demof.out demfx_lh.out >>dif.out
-
- demofort: dem_fr.out demf_fr.out
-
- dem_fr.out: demo.for ultra_fr.obj demo.out dif.out
- $(FOR2) demo
- $(LNK2) demo+ultra_fr.obj,dem_fr;
- dem_fr >dem_fr.out
- fc demo.out dem_fr.out >>dif.out
- demx_fr.out: demo.for ultrx_fr.obj demo.out dif.out
- echo 80386 versions don't seem to work with IBM Fortran/2
- # $(FOR2) demo
- # $(LNK2) demo+ultrx_fr.obj,demx_fr;
- # demx_fr >demx_fr.out
- # fc demo.out demx_fr.out >>dif.out
- demf_fr.out: demo.for ultrf_fr.obj demof.out dif.out
- $(FOR2) demo
- $(LNK2) demo+ultrf_fr.obj,demf_fr;
- demf_fr >demf_fr.out
- fc demof.out demf_fr.out >>dif.out
- demfx_fr.out: demo.for ultfx_fr.obj demof.out dif.out
- echo 80386 versions don't seem to work with IBM Fortran/2
- # $(FOR2) demo
- # $(LNK2) demo+ultfx_fr.obj,demfx_fr;
- # demfx_fr >demfx_fr.out
- # fc demof.out demfx_fr.out >>dif.out
-
- # The timings can be obtained by running the following program.
- # Currently it runs the 32-bit small model C, but other models
- # could be run by changing the following lines:
-
- debug.h: timer
- ztimer.h: timer
- ztimer_s.lib: timer
-
- timer:
- $(UNZIP) -n $(ZTIMER) debug.h ztimer.h ztimer_s.lib
-
- time: debug.h ztimer.h ztimer_s.lib \
- ultra_cs.obj ultrx_cs.obj ultrf_cs.obj ultfx_cs.obj
- $(C) -ms timings.c ultrx_cs.obj ztimer_s.lib
- echo 80386/80486 full version >timings.out
- timings >>timings.out
- $(C) -ms timings.c ultra_cs.obj ztimer_s.lib
- echo 8086/80286 full version >>timings.out
- timings >>timings.out
- $(C) -ms timings.c ultra.c ztimer_s.lib
- echo C - subroutines
- timings >>timings.out
-
- $(C) -ms timings.c ultfx_cs.obj ztimer_s.lib
- echo 80386/80486 fast version >>timings.out
- timings >>timings.out
- $(C) -ms timings.c ultrf_cs.obj ztimer_s.lib
- echo 8086/80286 fast version >>timings.out
- timings >>timings.out
- $(C) -ms -Dfast timings.c ultra.c ztimer_s.lib
- echo C - fast subroutines
- timings >>timings.out
-
- clean:
- del *.out
- del *.obj
- del *.tpu
- del model.mac
- del dif
- del *.exe
- del *.sld
- del *.map
- del ztim*.*
- del debug.h
-
- ship: all
- md ship
- md ship\objects
- copy *.obj ship\objects
- copy *.tpu ship\objects
- copy makefile ship
- copy header+ultra.doc ship\ultra.doc
- copy header+readme ship\readme
- copy header.f+demo.for ship\demo.for
- echo comment ! >comment.0
- echo ! >comment.1
- copy $(HDR)+ultra_c.asm ship\ultra_c.asm
- copy $(HDR)+ultra_tp.asm ship\ultra_tp.asm
- copy $(HDR)+ultra_fr.asm ship\ultra_fr.asm
- copy $(HDR)+ultra_lh.asm ship\ultra_lh.asm
- copy $(HDR)+ultracod.inc ship\ultracod.inc
- copy $(HDR)+ultradat.inc ship\ultradat.inc
- copy $(HDR)+ultrx_c.asm ship\ultrx_c.asm
- copy $(HDR)+ultrx_tp.asm ship\ultrx_tp.asm
- copy $(HDR)+ultrx_fr.asm ship\ultrx_fr.asm
- copy $(HDR)+ultrx_lh.asm ship\ultrx_lh.asm
- copy $(HDR)+ultrxcod.inc ship\ultrxcod.inc
- echo /* >comment.0
- echo */ >comment.1
- copy $(HDR)+timings.c ship\timings.c
- copy $(HDR)+ultra.c ship\ultra.c
- copy $(HDR)+ultra.h ship\ultra.h
- copy $(HDR)+demo.c ship\demo.c
- copy $(HDR)+ultramac.c ship\ultramac.c
- echo { >comment.0
- echo } >comment.1
- copy $(HDR)+ultratpu.pas ship\ultratpu.pas
- copy $(HDR)+demo.pas ship\demo.pas
- del comment.*
- zip -rp ultra$(VER) ship\*.*
-
-